Optical fiber transmission systems have made possible high speed digital networks having data rates in excess of 1000 million bits per second (1000 Mbps). Many different kinds of communication systems based on fiber optic transmission have been implemented or proposed. One of these proposed systems operates by sending messages called "packets" between users. Each packet includes a destination address which is used to route the packet through the various switches in a telephone system. This type of system is referred to as a packet switching network.
A modern optical fiber can easily transport signals at the rate of several gigabits per second, while the bit rates of present switches (even experimental switches) are lower by two orders of magnitude. In order to fully utilize the high data rates of modern optical fiber communications systems, it is necessary to significantly increase the switching speeds.
The switches operate between input and output ports connected to the optical fibers. There may be hundreds of optical fibers connected to a single switch. To properly route a packet arriving on one of the input ports, the switch must read the address portion of the packet and then transfer the packet to the desired output port. The switching must be accomplished for each packet arriving on each optical fiber. As the packets are routed through the switch, they must not collide, an event causing one packet to block another. If packets are blocked, the information contained in them can be lost.
Prior art packet switch designs can be classified into two approaches: (1) complete cross-connection and (2) self-routing interconnection. In a complete crossconnection system, a central processing unit sets up the switching pattern. It has the disadvantage of requiring an extremely high computational load for large communications systems. In a self-routing system, each switch sets itself.
Self-routing interconnection has been implemented by so-called Batcher-Banyan networks. The Batcher-Banyan network is composed of N.times.N Batcher sorters and N.times.N Banyan routers (where N is the number of input ports or output ports). The routers have a plurality of stages, each stage including a routing circuit with a plurality of input and output lines. In the Batcher-Banyan network, packets progress through a number of stages of sorter cells before going through router cells. The purpose of sorting is to ensure that packets will not collide in the later router cells.
The complexity of the Banyan-Batcher network is greatly increased by the Batcher sorters which require approximately k.sup.2 /2 stages of sorter cells (where k is the number of stages in the Banyan-Batcher network). There are N/2 sorter cells at each stage, and the clock signal has to propagate itself throughout all these N/2 cells to assure synchronicity as described below.
The Batcher-Banyan network sorts packets according to their destinations in a manner that avoids packet collisions. The Batcher sorter, however, places an intrinsic limit on the bit rate. A sorter cell is a 2.times. 2 switch which chooses between parallel and cross-routing patterns, based on a lexicographic comparison between the two input bit streams. This requires the synchronized arrival of signals of the two bit streams at the sorter cell. Outputs of all sorter cells at one stage are connected to inputs of sorter cells at the next stage through a shuffle exchange. In particular, the two inputs to a cell at any stage come from outputs of two different cells at the previous stage. Thus, the requirement of signal synchronization is not just between the two bit streams at each cell, but rather among all bit streams. In other words, the packets on the input lines must all arrive at the same time. This places a severe limit on the bit rate of the sorting fabric.
To ensure the simultaneous arrival of all the packets on the input lines requires a stage-by-stage bit signal realignment among all simultaneously routed packets inside the sorter. The bit rate is severely limited by this clocking requirement. This further results in the serious disadvantage that the larger the switch size, the lower the bit rate. The experimental implementation of the Batcher-Banyan network, for example, achieves the rate of only 55 Mbps for a 32.times.32 switch.
In addition to the requirements for significantly greater switching speeds, any new switching devices must also possess:
(1) capability for communication speeds that vary from tens of bits per second to more than a few hundred Mbps, PA1 (2) capability for communications with different properties, (3) flexibility to handle different bandwidths and connection types, (4) capability to distribute signals economically, and (5) capability to meet future demands.